# near model CODE resource # jump table entries: 112-119 (8 of them) export_14: 00000000 4E56 0000 link A6, 0 00000004 203C 0000 A89F move.l D0, 0xA89F 0000000A A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 0000000C 2F08 move.l -[A7], A0 0000000E 203C 0000 A0AD move.l D0, 0xA0AD 00000014 A346 syscall GetOSTrapAddress, flags=3 00000016 B1DF cmpa.l A0, [A7]+ 00000018 670E beq +0x10 /* 00000028 */ 0000001A 202E 000C move.l D0, [A6 + 0xC] 0000001E A1AD syscall Gestalt, flags=1 00000020 226E 0008 movea.l A1, [A6 + 0x8] 00000024 2288 move.l [A1], A0 00000026 6026 bra +0x28 /* 0000004E */ label00000028: 00000028 41FA 0036 lea.l A0, [PC + 0x36 /* 00000060, value 0x76657273 'vers' */] 0000002C 303C EA51 move.w D0, 0xEA51 00000030 222E 000C move.l D1, [A6 + 0xC] label00000034: 00000034 B298 cmp.l D1, [A0]+ 00000036 6706 beq +0x8 /* 0000003E */ 00000038 4A98 tst.l [A0]+ 0000003A 6712 beq +0x14 /* 0000004E */ 0000003C 60F6 bra -0x8 /* 00000034 */ label0000003E: 0000003E 43FA 0020 lea.l A1, [PC + 0x20 /* 00000060, value 0x76657273 'vers' */] 00000042 D3D0 add.l A1, [A0] 00000044 4ED1 jmp [A1] label00000046: 00000046 226E 0008 movea.l A1, [A6 + 0x8] 0000004A 2280 move.l [A1], D0 0000004C 4240 clr.w D0 label0000004E: 0000004E 3D40 0010 move.w [A6 + 0x10], D0 00000052 4E5E unlink A6 00000054 205F movea.l A0, [A7]+ 00000056 508F addq.l A7, 8 00000058 4ED0 jmp [A0] label0000005A: 0000005A 303C EA52 move.w D0, 0xEA52 0000005E 60EE bra -0x10 /* 0000004E */ 00000060 7665 moveq.l D3, 0x65 00000062 7273 moveq.l D1, 0x73 00000064 0000 0060 ori.b D0, 0x60 /* '`' */ 00000068 6D61 blt +0x63 /* 000000CB */ 0000006A 6368 bls +0x6A /* 000000D4 */ 0000006C 0000 0064 ori.b D0, 0x64 /* 'd' */ 00000070 7379 moveq.l D1, 0x79 00000072 7376 moveq.l D1, 0x76 00000074 0000 0088 ori.b D0, 0x88 00000078 7072 moveq.l D0, 0x72 0000007A 6F63 ble +0x65 /* 000000DF */ 0000007C 0000 0092 ori.b D0, 0x92 00000080 6670 bne +0x72 /* 000000F2 */ 00000082 7520 moveq.l D2, 0x20 00000084 0000 009E ori.b D0, 0x9E 00000088 7164 moveq.l D0, 0x64 0000008A 2020 move.l D0, -[A0] 0000008C 0000 00E8 ori.b D0, 0xE8 00000090 6B62 bmi +0x64 /* 000000F4 */ 00000092 6420 bcc +0x22 /* 000000B4 */ 00000094 0000 011A ori.b D0, 0x1A 00000098 6174 bsr +0x76 /* 0000010E */ 0000009A 6C6B bge +0x6D /* 00000107 */ 0000009C 0000 0142 ori.b D0, 0x42 /* 'B' */ 000000A0 6D6D blt +0x6F /* 0000010F */ 000000A2 7520 moveq.l D2, 0x20 000000A4 0000 0164 ori.b D0, 0x64 /* 'd' */ 000000A8 7261 moveq.l D1, 0x61 000000AA 6D20 blt +0x22 /* 000000CC */ 000000AC 0000 0188 ori.b D0, 0x88 000000B0 6C72 bge +0x74 /* 00000124 */ 000000B2 616D bsr +0x6F /* 00000121 */ label000000B4: 000000B4 0000 0188 ori.b D0, 0x88 000000B8 0000 0000 ori.b D0, 0x0 000000BC 0000 0000 ori.b D0, 0x0 000000C0 7001 moveq.l D0, 0x01 000000C2 6082 bra -0x7C /* 00000046 */ 000000C4 2278 02AE movea.l A1, [0x000002AE /* ROMBase */] 000000C8 7004 moveq.l D0, 0x04 000000CA 0C69 0075 0008 cmpi.w [A1 + 0x8], 0x75 /* 'u' */ // begin alternate branch 000000CC-000000D4 label000000CC: 000000CC 0075 0008 6712 0C69 ori.w [[A5 + D6 * 8] + 0xC69], 0x8 // end alternate branch 000000CC-000000D4 label000000CC: // (misaligned) 000000D0 6712 beq +0x14 /* 000000E4 */ 000000D2 0C69 0276 0008 cmpi.w [A1 + 0x8], 0x276 // begin alternate branch 000000D4-000000DA label000000D4: 000000D4 0276 0008 6604 andi.w [A6 + D6.w * 8 + 0x4], 0x8 // end alternate branch 000000D4-000000DA label000000D4: // (misaligned) 000000D8 6604 bne +0x6 /* 000000DE */ 000000DA 5240 addq.w D0, 1 000000DC 6006 bra +0x8 /* 000000E4 */ label000000DE: 000000DE 1038 0CB3 move.b D0, [0x00000CB3 /* MMUFluff/MachineType */] 000000E2 5C80 addq.l D0, 6 label000000E4: 000000E4 6000 FF60 bra -0x9E /* 00000046 */ 000000E8 7000 moveq.l D0, 0x00 000000EA 3038 015A move.w D0, [0x0000015A /* SysVersion */] 000000EE 6000 FF56 bra -0xA8 /* 00000046 */ label000000F2: 000000F2 7000 moveq.l D0, 0x00 label000000F4: 000000F4 1038 012F move.b D0, [0x0000012F /* CPUFlag */] 000000F8 5240 addq.w D0, 1 000000FA 6000 FF4A bra -0xB4 /* 00000046 */ 000000FE 0C38 0004 012F cmpi.b [0x0000012F /* CPUFlag */], 0x4 00000104 6738 beq +0x3A /* 0000013E */ 00000106 0838 0004 0B22 btst.b [0x00000B22 /* HWCfgFlags */], 0x4 0000010C 6734 beq +0x36 /* 00000142 */ fn0000010E: 0000010E 204F movea.l A0, A7 00000110 F280 .extension 0x280 // unimplemented 00000112 0000 F327 ori.b D0, 0x27 /* '\'' */ 00000116 3017 move.w D0, [A7] 00000118 2E48 movea.l A7, A0 0000011A 0C40 1F18 cmpi.w D0, 0x1F18 0000011E 6716 beq +0x18 /* 00000136 */ 00000120 0C40 3F18 cmpi.w D0, 0x3F18 label00000124: 00000124 6710 beq +0x12 /* 00000136 */ 00000126 0C40 3F38 cmpi.w D0, 0x3F38 /* '?8' */ 0000012A 670E beq +0x10 /* 0000013A */ 0000012C 0C40 1F38 cmpi.w D0, 0x1F38 00000130 6708 beq +0xA /* 0000013A */ 00000132 7000 moveq.l D0, 0x00 00000134 600E bra +0x10 /* 00000144 */ label00000136: 00000136 7001 moveq.l D0, 0x01 00000138 600A bra +0xC /* 00000144 */ label0000013A: 0000013A 7002 moveq.l D0, 0x02 0000013C 6006 bra +0x8 /* 00000144 */ label0000013E: 0000013E 7003 moveq.l D0, 0x03 00000140 6002 bra +0x4 /* 00000144 */ label00000142: 00000142 7000 moveq.l D0, 0x00 label00000144: 00000144 6000 FF00 bra -0xFE /* 00000046 */ 00000148 0C78 3FFF 028E cmpi.w [0x0000028E /* ROM85 */], 0x3FFF 0000014E 6E1C bgt +0x1E /* 0000016C */ 00000150 303C A89F move.w D0, 0xA89F 00000154 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 00000156 2408 move.l D2, A0 00000158 203C 0000 AB03 move.l D0, 0xAB03 0000015E A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 00000160 203C 0000 0100 move.l D0, 0x100 00000166 B488 cmp.l D2, A0 00000168 6606 bne +0x8 /* 00000170 */ 0000016A 600A bra +0xC /* 00000176 */ label0000016C: 0000016C 7000 moveq.l D0, 0x00 0000016E 6006 bra +0x8 /* 00000176 */ label00000170: 00000170 203C 0000 0200 move.l D0, 0x200 label00000176: 00000176 6000 FECE bra -0x130 /* 00000046 */ 0000017A 1038 021E move.b D0, [0x0000021E /* KbdType */] 0000017E 41FA 0016 lea.l A0, [PC + 0x16 /* 00000196, value 0x3130B02 */] 00000182 2248 movea.l A1, A0 label00000184: 00000184 1218 move.b D1, [A0]+ 00000186 6700 FED2 beq -0x12C /* 0000005A */ 0000018A B200 cmp.b D1, D0 0000018C 66F6 bne -0x8 /* 00000184 */ 0000018E 91C9 sub.l A0, A1 00000190 2008 move.l D0, A0 00000192 6000 FEB2 bra -0x14C /* 00000046 */ 00000196 0313 btst [A3], D1 00000198 0B02 btst D2, D5 0000019A 0106 btst D6, D0 0000019C 0704 btst D4, D3 0000019E 0508 btst A0, D2 000001A0 0900 btst D0, D4 000001A2 7000 moveq.l D0, 0x00 000001A4 4A38 0291 tst.b [0x00000291 /* PortBUse */] 000001A8 6B16 bmi +0x18 /* 000001C0 */ 000001AA 1238 01FB move.b D1, [0x000001FB /* SPConfig */] 000001AE 0201 000F andi.b D1, 0xF 000001B2 0C01 0001 cmpi.b D1, 0x1 000001B6 6608 bne +0xA /* 000001C0 */ 000001B8 2078 02DC movea.l A0, [0x000002DC /* ABusDCE */] 000001BC 1028 0007 move.b D0, [A0 + 0x7] label000001C0: 000001C0 6000 FE84 bra -0x17A /* 00000046 */ 000001C4 0C38 0002 012F cmpi.b [0x0000012F /* CPUFlag */], 0x2 000001CA 6D16 blt +0x18 /* 000001E2 */ 000001CC 7000 moveq.l D0, 0x00 000001CE 1038 0CB1 move.b D0, [0x00000CB1 /* MMUType */] 000001D2 0C00 0001 cmpi.b D0, 0x1 000001D6 670C beq +0xE /* 000001E4 */ 000001D8 0C00 0003 cmpi.b D0, 0x3 000001DC 6D04 blt +0x6 /* 000001E2 */ 000001DE 5340 subq.w D0, 1 000001E0 6002 bra +0x4 /* 000001E4 */ label000001E2: 000001E2 7000 moveq.l D0, 0x00 label000001E4: 000001E4 6000 FE60 bra -0x19E /* 00000046 */ 000001E8 303C A89F move.w D0, 0xA89F 000001EC A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 000001EE 2408 move.l D2, A0 000001F0 203C 0000 A88F move.l D0, 0xA88F 000001F6 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 000001F8 2038 0108 move.l D0, [0x00000108 /* MemTop */] 000001FC B488 cmp.l D2, A0 000001FE 670A beq +0xC /* 0000020A */ 00000200 598F subq.l A7, 4 00000202 3F3C 0016 move.w -[A7], 0x16 00000206 A88F syscall OSDispatch 00000208 201F move.l D0, [A7]+ label0000020A: 0000020A 6000 FE3A bra -0x1C4 /* 00000046 */ export_15: 0000020E 7018 moveq.l D0, 0x18 label00000210: 00000210 4267 clr.w -[A7] 00000212 51C8 FFFC dbf D0, -0x6 /* 00000210 */ 00000216 2F6F 003A 0012 move.l [A7 + 0x12], [A7 + 0x3A] 0000021C 204F movea.l A0, A7 0000021E A000 syscall Open/PBHOpen/HOpen 00000220 206F 0036 movea.l A0, [A7 + 0x36] 00000224 30AF 0018 move.w [A0], [A7 + 0x18] 00000228 206F 0032 movea.l A0, [A7 + 0x32] 0000022C 4FEF 003E lea.l A7, [A7 + 0x3E] 00000230 3E80 move.w [A7], D0 00000232 4ED0 jmp [A0] export_16: 00000234 225F movea.l A1, [A7]+ 00000236 101F move.b D0, [A7]+ 00000238 205F movea.l A0, [A7]+ 0000023A 6604 bne +0x6 /* 00000240 */ 0000023C A004 syscall Control 0000023E 6002 bra +0x4 /* 00000242 */ label00000240: 00000240 A404 syscall Control, flags=4 label00000242: 00000242 3E80 move.w [A7], D0 00000244 4ED1 jmp [A1] export_17: 00000246 225F movea.l A1, [A7]+ 00000248 101F move.b D0, [A7]+ 0000024A 205F movea.l A0, [A7]+ 0000024C 6604 bne +0x6 /* 00000252 */ 0000024E A005 syscall Status 00000250 6002 bra +0x4 /* 00000254 */ label00000252: 00000252 A405 syscall Status, flags=4 label00000254: 00000254 3E80 move.w [A7], D0 00000256 4ED1 jmp [A1] export_18: 00000258 225F movea.l A1, [A7]+ 0000025A 101F move.b D0, [A7]+ 0000025C 205F movea.l A0, [A7]+ 0000025E 6604 bne +0x6 /* 00000264 */ 00000260 A207 syscall GetVolInfo/PBHGetVInfo/HGetVInfo, flags=2 00000262 6002 bra +0x4 /* 00000266 */ label00000264: 00000264 A607 syscall GetVolInfo/PBHGetVInfo/HGetVInfo, flags=6 label00000266: 00000266 3E80 move.w [A7], D0 00000268 4ED1 jmp [A1] export_19: 0000026A 7402 moveq.l D2, 0x02 label0000026C: 0000026C 205F movea.l A0, [A7]+ 0000026E 3F02 move.w -[A7], D2 00000270 2F08 move.l -[A7], A0 00000272 ADE9 syscall Pack2, auto_pop export_20: 00000274 7404 moveq.l D2, 0x04 00000276 4EFA FFF4 jmp [PC - 0xC /* 0000026C */] export_21: 0000027A 7400 moveq.l D2, 0x00 0000027C 4EFA FFEE jmp [PC - 0x12 /* 0000026C */]